package com.sys.SysSales.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.sys.common.annotation.Excel;
import com.sys.common.core.domain.BaseEntity;

/**
 * 客户信息对象 sys_sales_customers
 * 
 * @author ruoyi
 * @date 2025-09-26
 */
@Data
public class SysSalesCustomers extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long customerId;

    /** 客户编号 */
    @Excel(name = "客户编号")
    private String customerNumber;

    /** 客户名称 */
    @Excel(name = "客户名称")
    private String name;

    /** 客户类型 */
    @Excel(name = "客户类型")
    private String type;

    /** 联系人姓名 */
    @Excel(name = "联系人姓名")
    private String contactPerson;

    /** 联系人职位 */
    @Excel(name = "联系人职位")
    private String position;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String phone;

    /** 电子邮箱 */
    @Excel(name = "电子邮箱")
    private String email;

    /** 省份 */
    @Excel(name = "省份")
    private String province;

    /** 城市 */
    @Excel(name = "城市")
    private String city;

    /** 区县 */
    @Excel(name = "区县")
    private String district;

    /** 详细地址 */
    @Excel(name = "详细地址")
    private String address;

    /** 开户行 */
    @Excel(name = "开户行")
    private String bankName;

    /** 银行账号 */
    @Excel(name = "银行账号")
    private String bankAccount;

    /** 客户状态 */
    @Excel(name = "客户状态")
    private String status;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createdBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** 修改人 */
    @Excel(name = "修改人")
    private String updatedBy;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedAt;

    /** 产品名称 */
    @Excel(name = "产品名称")
    private String productName;
    /** 产品数量 */
    @Excel(name = "产品数量")
    private Integer totalQuantity;
    /** 产品数量总和 */
    @Excel(name = "产品数量总和")
    private Integer totalSum;

//    public void setCustomerId(Long customerId)
//    {
//        this.customerId = customerId;
//    }
//
//    public Long getCustomerId()
//    {
//        return customerId;
//    }
//
//    public void setCustomerNumber(String customerNumber)
//    {
//        this.customerNumber = customerNumber;
//    }
//
//    public String getCustomerNumber()
//    {
//        return customerNumber;
//    }
//
//    public void setName(String name)
//    {
//        this.name = name;
//    }
//
//    public String getName()
//    {
//        return name;
//    }
//
//    public void setType(String type)
//    {
//        this.type = type;
//    }
//
//    public String getType()
//    {
//        return type;
//    }
//
//    public void setContactPerson(String contactPerson)
//    {
//        this.contactPerson = contactPerson;
//    }
//
//    public String getContactPerson()
//    {
//        return contactPerson;
//    }
//
//    public void setPosition(String position)
//    {
//        this.position = position;
//    }
//
//    public String getPosition()
//    {
//        return position;
//    }
//
//    public void setPhone(String phone)
//    {
//        this.phone = phone;
//    }
//
//    public String getPhone()
//    {
//        return phone;
//    }
//
//    public void setEmail(String email)
//    {
//        this.email = email;
//    }
//
//    public String getEmail()
//    {
//        return email;
//    }
//
//    public void setProvince(String province)
//    {
//        this.province = province;
//    }
//
//    public String getProvince()
//    {
//        return province;
//    }
//
//    public void setCity(String city)
//    {
//        this.city = city;
//    }
//
//    public String getCity()
//    {
//        return city;
//    }
//
//    public void setDistrict(String district)
//    {
//        this.district = district;
//    }
//
//    public String getDistrict()
//    {
//        return district;
//    }
//
//    public void setAddress(String address)
//    {
//        this.address = address;
//    }
//
//    public String getAddress()
//    {
//        return address;
//    }
//
//    public void setBankName(String bankName)
//    {
//        this.bankName = bankName;
//    }
//
//    public String getBankName()
//    {
//        return bankName;
//    }
//
//    public void setBankAccount(String bankAccount)
//    {
//        this.bankAccount = bankAccount;
//    }
//
//    public String getBankAccount()
//    {
//        return bankAccount;
//    }
//
//    public void setStatus(String status)
//    {
//        this.status = status;
//    }
//
//    public String getStatus()
//    {
//        return status;
//    }
//
//    public void setCreatedBy(String createdBy)
//    {
//        this.createdBy = createdBy;
//    }
//
//    public String getCreatedBy()
//    {
//        return createdBy;
//    }
//
//    public void setCreatedAt(Date createdAt)
//    {
//        this.createdAt = createdAt;
//    }
//
//    public Date getCreatedAt()
//    {
//        return createdAt;
//    }
//
//    public void setUpdatedBy(String updatedBy)
//    {
//        this.updatedBy = updatedBy;
//    }
//
//    public String getUpdatedBy()
//    {
//        return updatedBy;
//    }
//
//    public void setUpdatedAt(Date updatedAt)
//    {
//        this.updatedAt = updatedAt;
//    }
//
//    public Date getUpdatedAt()
//    {
//        return updatedAt;
//    }
//
//    @Override
//    public String toString() {
//        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
//            .append("customerId", getCustomerId())
//            .append("customerNumber", getCustomerNumber())
//            .append("name", getName())
//            .append("type", getType())
//            .append("contactPerson", getContactPerson())
//            .append("position", getPosition())
//            .append("phone", getPhone())
//            .append("email", getEmail())
//            .append("province", getProvince())
//            .append("city", getCity())
//            .append("district", getDistrict())
//            .append("address", getAddress())
//            .append("bankName", getBankName())
//            .append("bankAccount", getBankAccount())
//            .append("status", getStatus())
//            .append("createdBy", getCreatedBy())
//            .append("createdAt", getCreatedAt())
//            .append("updatedBy", getUpdatedBy())
//            .append("updatedAt", getUpdatedAt())
//            .toString();
//    }
}
